import React, { Component, useState } from 'react'
import Child from './Son'
// class ProductList extends React.PureComponent {
//     constructor(props) {
//       super(props);
//       this.state = {
//         value: 1,
//       };
//     }

//     // 增加value的值
//     clickParent = () => {
//       // @ts-ignore
//       let { value } = this.state;
//       value++;
//       this.setState({
//         value,
//       });
//     };

//     // 调用子组件的方法
//     clickMeChild = () => {
//       this.childComponent.clickChild();
//     };

//     // 接收子组件传递过来的值
//     receiveChild = (childVlaue) => {
//       this.setState({childVlaue});
//     };

//     render() {
//       const { value, childVlaue } = this.state;
//       // 传递给子组件的方法和参数
//       const childProps = {
//         // 初始值
//         value,
//         // 增加
//         clickParent: this.clickParent,
//         parent: this,
//       };
//       return (<div>
//         <h1>父组件</h1>
//         父编号:{value}
//         <br/>
//         接收子值：{childVlaue}
//         <br/>
//         <button onClick={this.clickParent}>点击父组件-加</button>
//         <button onClick={this.clickMeChild}>点击子组件-减</button>

//         <hr/>
//         <Child {...childProps} onRef={ref => {
//         this.childComponent = ref;}} />
//       </div>)
//     }
//   }
//   export default ProductList
class ProductList extends React.Component {
  constructor() {
    super()
    this.updateParent = this.updateParent.bind(this);
  }
  updateParent(someValue: any) {
    console.log(someValue);//在这里就可以取到子组件传来的值
    this.setState({
      someState: someValue
    })
  }
  render() {
    return <Child updateParent={this.updateParent} />
  }
}
export default ProductList

